lrSDK = require("老狼孩插件懒人免ROOT无障碍版")
local app_config = require("app_config")
local cr = require("cr")
local meal_subsidy = require("meal_subsidy")
local ad_handler = require("ad_handler")
local watch_drama = require("watch_drama")

--开启方框锁定目标
lrSDK.是否开启方框锁定目标 = true
lrSDK.日志类_日志窗口()

-- 当前使用的应用
local current_app = app_config.phoenix_read

-- 初始化系统配置
local function init_system()
	-- 获取屏幕分辨率并设置
	local width, height = cr.获取屏幕分辨率()
	if not width or not height then
		lrSDK.日志类_调试输出("警告：无法获取屏幕分辨率，使用默认配置")
	else
		lrSDK.日志类_调试输出("屏幕分辨率：".. width .. "x" .. height)
	end
	
	-- 设置滑动参数
	local params = cr.计算滑动参数(width, height)
	lrSDK.日志类_调试输出("滑动参数已初始化，安全边距：" .. params.安全边距)
	
	-- 测试滑动功能
	lrSDK.日志类_调试输出("执行滑动测试...")
	-- 测试下滑（回到顶部）
	local bottom_to_top = cr.缓慢滑动(
		params.中心x, 
		params.顶部y, 
		params.中心x, 
		params.底部y, 
		800
	)
	cr.等待(1000)
	
	return true
end

-- 检查应用是否在前台运行
local function check_app_running()
	-- 直接尝试启动应用，不检查前台应用
	lrSDK.日志类_调试输出("尝试启动应用：" .. current_app.package_name)
	
	-- 使用增强版启动应用，模式1速度稍快
	lrSDK.应用类_启动APP_增强版(1, current_app.package_name)
	cr.等待(5000)  -- 等待应用启动
	
	return true  -- 假设启动成功
end

-- 主函数：处理吃饭补贴流程
function main()
	-- 初始化系统配置
	if not init_system() then
		lrSDK.日志类_调试输出("系统初始化失败，终止任务")
		return false
	end
	
	-- 检查应用是否运行
	if not check_app_running() then
		lrSDK.日志类_调试输出("无法启动应用，终止任务")
		return false
	end
	
	-- 执行吃饭补贴流程或观看剧集流程（根据参数或随机选择）
	local 功能选择 = 2 -- 1:吃饭补贴, 2:观看剧集
	
	-- 添加时间记录功能，用于验证时间计算
	local 开始时间 = os.time()
	local 开始时间字符串 = os.date("%Y-%m-%d %H:%M:%S", 开始时间)
	lrSDK.日志类_调试输出("开始执行任务时间: " .. 开始时间字符串)
	
	-- 设置总运行时间为5000秒
	local 总运行时间 = 5000
	lrSDK.日志类_调试输出("设置总运行时间: " .. 总运行时间 .. "秒")
	
	-- 循环执行，直到达到总运行时间
	while (os.time() - 开始时间) < 总运行时间 do
		-- 计算已运行时间和剩余时间
		local 已运行时间 = os.time() - 开始时间
		local 剩余时间 = 总运行时间 - 已运行时间
		lrSDK.日志类_调试输出("已运行: " .. 已运行时间 .. "秒, 剩余: " .. 剩余时间 .. "秒")
		
		if 功能选择 == 1 then
			-- 执行吃饭补贴流程
			local 吃饭补贴结果 = meal_subsidy.点击吃饭补贴()
			if not 吃饭补贴结果 then
				lrSDK.日志类_调试输出("吃饭补贴流程执行失败")
				return false
			end
			
			-- 处理可能出现的广告
			local 广告处理结果 = ad_handler.处理广告()
			if 广告处理结果 then
				lrSDK.日志类_调试输出("广告处理完成")
			else
				lrSDK.日志类_调试输出("无广告或广告处理失败")
			end
			
			lrSDK.日志类_调试输出("吃饭补贴流程执行成功")
		else
			-- 执行观看剧集流程
			local 观看时间 = 50 -- 设置观看时间为50秒
			lrSDK.日志类_调试输出("设置目标观看时间: " .. 观看时间 .. "秒")
			local 观看结果 = watch_drama.观看剧集(观看时间)
			
			if not 观看结果 then
				lrSDK.日志类_调试输出("观看剧集流程执行失败")
				return false
			end
			
			lrSDK.日志类_调试输出("观看剧集流程执行成功")
		end
		
		-- 短暂休息，避免过度消耗资源
		cr.等待(2000)
		
		-- 检查是否要继续执行
		if (os.time() - 开始时间) >= 总运行时间 then
			lrSDK.日志类_调试输出("已达到总运行时间，结束任务")
			break
		end
	end
	
	-- 计算并输出总执行时间
	local 结束时间 = os.time()
	local 结束时间字符串 = os.date("%Y-%m-%d %H:%M:%S", 结束时间)
	local 总执行时间 = 结束时间 - 开始时间
	
	lrSDK.日志类_调试输出("结束执行任务时间: " .. 结束时间字符串)
	lrSDK.日志类_调试输出("总执行时间: " .. 总执行时间 .. "秒")
	
	return true
end

-- 运行主函数
local result = main()
if result then
	lrSDK.日志类_调试输出("脚本执行成功完成")
else 
	lrSDK.日志类_调试输出("脚本执行失败，请检查日志")
end
